﻿using Foxit.PDF;
using Foxit.PDF.PageElements;

namespace Sustainalytics.Reporting.Framework
{
    public class PdfLineTextBlock : IPdfPageElement
    {
        public float Left { get; set; }
        public float LeftOffset { get; set; }
        public float Top { get; set; }
        public string Name { get; set; }
        public string Value { get; set; }
        public int Row { get; set; }
        public int Column { get; set; }
        public Page Page { get; set; }
        public Group PageElements { get; set; }
        public Font NameFont { get; set; }
        public Font ValueFont { get; set; }
        public float FontSize { get; set; }

        public PdfLineTextBlock()
        {
            LeftOffset = 0.0f;
        }

        public void Draw()
        {
            var height = FontSize + 2;

            Page.Elements.Add(
                new Label(Name, Left, Top, 50f, height, NameFont, FontSize, TextAlign.Left, RgbColor.Black));

            if (!string.IsNullOrWhiteSpace(Value))
            {
                Page.Elements.Add(
                    new Label(Value, Left + LeftOffset, Top, 125f, 10f, ValueFont, FontSize, TextAlign.Left, RgbColor.Black));
            }
        }
    }
}
